* doc/lispref/strings.texi (Custom Format Strings): Mention that
precision specifier affects both '<' and '>' truncation (bug#69822).
* lisp/format-spec.el (format-spec, format-spec--do-flags): Use same
terminology as 'format', especially when referring to its behavior.
Tweak regexp for object initializers in csharp-mode (bug#69571)
* lisp/progmodes/csharp-mode.el (csharp-guess-basic-syntax): Add
handling to not consider ended statements as object init openers.
* test/lisp/progmodes/csharp-mode-resources/indent.erts: New test
resources.
* test/lisp/progmodes/csharp-mode-tests.el: Add test for this particular
issue.
`term-mode': mention the keymap to add keybindings to
A user typically expects a keymap for mode `foo' to be called
`foo-mode-map'. term-mode has `term-mode-map' too, but for
user-defined bindings to have effect they have to be put to
`term-raw-map' instead. So let's mention that.
* lisp/term.el (term-mode) (term-mode-map) (term-raw-map): Mention
the keymaps to add keybindings to for `term-mode'. (Bug#69786)
Eli Zaretskii [Thu, 7 Mar 2024 08:11:44 +0000 (10:11 +0200)]
; Improve documentation of image properties
* lisp/image.el (create-image, image-property): Add to do strings
link to description of image properties in ELisp manual.
* doc/lispref/display.texi (Defining Images): Fix example and add
cross-reference to where image properties are described.
(Image Descriptors): Add index entry.
Eli Zaretskii [Tue, 27 Feb 2024 11:12:15 +0000 (13:12 +0200)]
Avoid assertion violations in bidi.c
* src/bidi.c (bidi_resolve_brackets): Move assertion about
'resolved_level' to where it belongs. This avoids unnecessary
aborts when the character is not a bracket type and doesn't need
BPA resolution. (Bug#69421)
Eli Zaretskii [Sat, 24 Feb 2024 13:12:57 +0000 (15:12 +0200)]
Fix infinite recursion in gdb-mi.el
* lisp/progmodes/gdb-mi.el: (gdb-clear-partial-output)
(gdb-clear-inferior-io): Set inhibit-read-only, to avoid
signaling errors in process filter. (Bug#69327)
Stefan Kangas [Wed, 14 Feb 2024 23:39:00 +0000 (00:39 +0100)]
Add cross-reference to ELisp manual Caveats
* doc/lispref/intro.texi (Caveats): Add cross-reference to Emacs manual.
Talking about "contributing code" makes little sense in a section about
reporting mistakes in the ELisp manual, so skip that part.
Andrea Corallo [Sun, 11 Feb 2024 09:43:57 +0000 (10:43 +0100)]
* Improve reproducibility of inferred values by native comp
* lisp/emacs-lisp/comp-cstr.el (comp-normalize-valset): Do not try to
reorder conses using 'sxhash-equal' as its behavior is not reproducible
over different sessions.
Loïc Lemaître [Sun, 11 Feb 2024 03:00:38 +0000 (05:00 +0200)]
Handle typescript ts grammar breaking change for function_expression
Starting from version 0.20.4 of the typescript/tsx grammar, "function"
becomes "function_expression". The right expression is used depending
on the grammar version.
* lisp/progmodes/typescript-ts-mode.el
(tsx-ts-mode--font-lock-compatibility-function-expression):
New function (bug#69024).
(typescript-ts-mode--font-lock-settings): Use it.
* lisp/net/tramp-sh.el (tramp-actions-before-shell)
(tramp-actions-copy-out-of-band):
Use `tramp-security-key-pin-regexp'.
* lisp/net/tramp.el (tramp-security-key-pin-regexp): New defcustom.
(tramp-action-otp-password, tramp-read-passwd): Trim password prompt.
(tramp-action-show-and-confirm-message): Expand for PIN requests.
Fix incompatibility with tree-sitter-javascript >= 0.20.2
Starting from version 0.20.2 the grammar's primary expression
"function" has been renamed to "function_expression". A new
function checks if the new primary expression is available,
and if so, it returns the correct rules.
* lisp/progmodes/js.el
(js--treesit-font-lock-compatibility-definition-feature): New
function.
(js--treesit-font-lock-settings): Use it. (Bug#68879)
Eli Zaretskii [Sat, 3 Feb 2024 09:09:36 +0000 (11:09 +0200)]
Avoid signaling errors from 'pixel-fill-region'
* lisp/textmodes/pixel-fill.el (pixel-fill-region): Make sure the
selected window displays the current buffer. This is important
when this function is called inside 'with-current-buffer' or
similar forms which temporarily change the buffer displayed in the
selected window. (Bug#67791)
Eli Zaretskii [Sun, 28 Jan 2024 08:19:48 +0000 (10:19 +0200)]
Fix "emacs -nw" on MS-Windows
* src/w32term.c (w32_flip_buffers_if_dirty): Do nothing if F is
not a GUI frame. This avoids rare crashes in "emacs -nw".
* src/w32console.c (initialize_w32_display): Set the
ENABLE_EXTENDED_FLAGS bit in 'prev_console_mode'.
Eli Zaretskii [Sat, 27 Jan 2024 08:11:32 +0000 (10:11 +0200)]
Fix description of when "\xNNN" is considered a unibyte character
* doc/lispref/objects.texi (Non-ASCII in Strings): More accurate
description of when a hexadecimal escape sequence yields a unibyte
character. (Bug#68751)
Randy Taylor [Thu, 25 Jan 2024 02:39:45 +0000 (21:39 -0500)]
Simplify imenu setup for {cmake,dockerfile}-ts-modes
* lisp/progmodes/cmake-ts-mode.el (treesit-induce-sparse-tree,
treesit-node-child, treesit-node-start, cmake-ts-mode--imenu,
cmake-ts-mode--imenu-1): Remove.
(treesit-search-subtree): Declare.
(cmake-ts-mode--function-name): New function.
(cmake-ts-mode): Use it.
* lisp/progmodes/dockerfile-ts-mode.el (treesit-induce-sparse-tree,
treesit-node-start, dockerfile-ts-mode--imenu,
dockerfile-ts-mode--imenu-1): Remove.
(dockerfile-ts-mode--stage-name): New function.
(dockerfile-ts-mode): Use it.
Matthew Smith [Sat, 20 Jan 2024 09:45:31 +0000 (09:45 +0000)]
typescript-ts-mode: Skip test if tsx grammar missing
typescript-ts-mode-test-indentation depends on both the tree-sitter
typescript grammar, and the tree-sitter tsx grammar. If only the
typescript is installed, the tests will run and then fail unexpectedly
after tsx fails to load.
* test/lisp/progmodes/typescript-ts-mode-tests.el
(typescript-ts-mode-test-indentation): Skip test if tsx grammar is
missing.
* doc/misc/trampver.texi:
* lisp/net/trampver.el (tramp-version): Set to "2.6.3-pre".
* lisp/net/tramp.el (tramp-local-host-regexp): Extend. Adapt :version.
(tramp-signal-process): PROCESS can also be a string.
(tramp-skeleton-directory-files):
* lisp/net/tramp-cache.el (with-tramp-saved-file-property)
(with-tramp-saved-file-properties)
(with-tramp-saved-connection-property)
(with-tramp-saved-connection-properties): Use `setf' but `setq' in macro.
* lisp/net/tramp-crypt.el (tramp-crypt-file-name-p): Exclude lock files.
(tramp-crypt-file-name-handler-alist): Use `identity' for
`abbreviate-file-name'.
(tramp-crypt-add-directory, tramp-crypt-remove-directory):
Adapt docstrings.
(tramp-crypt-cleanup-connection): New defun. Add it to
`tramp-cleanup-connection-hook'
* lisp/net/tramp.el (tramp-skeleton-file-name-all-completions):
Handle "." and "..".
* lisp/net/tramp-adb.el (tramp-adb-handle-file-name-all-completions):
* lisp/net/tramp-fuse.el (tramp-fuse-handle-file-name-all-completions):
* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-name-all-completions):
Remove special handling of "." an "..".
* lisp/net/tramp-sh.el (tramp-pipe-stty-settings): New defcustom.
(tramp-sh-handle-make-process): Use it. (Bug#62093)